Method and apparatus for automatic time-shifting for a content recorder

ABSTRACT

A content player includes a pausable mass storage device player that can be used to record and play content. The pausable mass storage device can become paused in response to an assertion of a pause signal. Once paused, the content player remains paused until the pause signal is deasserted. The content player also includes an event detector that is coupled to the pausable mass storage device player. The content player detects a non-viewer initiated event, (e.g., an automatic event such as the receipt of an email with embedded enhanced content), and to assert the pause signal in response thereto. The content player receives content, detects an event, and in response to detecting the event, pauses the content to a presentation device and spools the content onto the mass storage device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 09/645,670 filed on Aug. 24, 2000, entitled METHODAND APPARATUS FOR AUTOMATIC TIME SHIFTING FOR A CONTENT RECORDER, ownedby instant assignee and incorporated herein by reference.

FIELD OF THE DISCLOSURE

The invention relates generally to set top boxes and more particularlyto a method and apparatus for automatic time-shifting for a contentrecorder.

BACKGROUND

The introduction of digital video recorders has made time-shifting ofvideo content easy for many home entertainment system users.Time-shifting of video content allows a user to “pause” the reception ofthe video content by directing the video content to a video recorderwhile maintaining an instantaneous image of the video content on atelevision or other video device. The digital video recorder continuesto receive the video content, and “spools” the video content onto thedigital video recorder. When the user later resumes viewing, the digitalvideo recorder continues receive video content and to spool the videocontent onto the digital video recorder, but presents the video contentfrom a point at which the user had paused the reception. In other words,the user plays content that is delayed with respect to the video contentbeing spooled.

While a user is enjoying home entertainment by watching a televisionprogram, listening to a broadcast over a stereo system, or watchingstreaming video over the Internet, events can occur that demand theuser's attention. A telephone or doorbell may ring and demand the user'sattention. A kitchen timer may signal that dinner is ready, or a washingmachine may complete a wash cycle. When such events occur, the usertypically pauses the video content (initiating time-shifting) and laterresumes viewing. Like digital video recorders, smart appliances havefound their way into the home and made life more convenient for users.Smart appliances, such as an oven or a washing machine that are coupledto the Internet or to a LAN (local area network) within a home, may beprogrammed to begin and end over the internet or LAN. Smart appliancescan initiate processes and can exchange information over the Internet orLAN.

Another technology is the enhanced content found in web-based content.Enhanced content can invoke processes, such as opening a web browser, ona client computer system. Enhanced content may also be embedded withinan email message. When an email reader or web browser detects enhancedcontent, the email reader or web browser responds by initiating theprocess identified in the enhanced content. Also, it is known to haveevents embedded in broadcast television signals.

However, the digital video recorder generally has a “pause” button on aremote control to initiate a “pause” function. The remote controlrequires the user to press the pause button to initiate the pausefunction. This can be a problem for users who do not happen to be nearthe remote control when the event occurs.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a time-shift content recorder/player system 10 inaccordance with one embodiment of the present invention.

FIG. 2 shows a flowchart illustrating a method for time-shifting inresponse to an event.

DETAILED DESCRIPTION

The present invention includes an embodiment in which a digital videorecorder includes an automatic process. The automatic process detectsnon-viewer initiated events and pauses the reception of video content inresponse to such an event. In one embodiment of the present invention,the digital video recorder automatically detects events and pauses thereception of video content in response to an event, and alsoautomatically initiates a time-shifting function and allows delayedviewing automatically in response to a termination of an event. Inanother embodiment of the present invention, the digital video recorderautomatically detects events and pauses the reception of a video contentin response to an event, and then allows a user to initiate atime-shifting function and initiate delayed viewing manually.

FIG. 1 shows a time-shift content recorder/player system 10 inaccordance with one embodiment of the present invention. The time-shiftcontent recorder/player system 10 obtains video content from a contentsource 20, and includes a content recorder/player 32, a video controller60, an event detector 70, and a monitored device 80. The content source20 may be a video cable system, a satellite television system, aradio-frequency transmission system providing broadcast videoinformation, an analog video tape player providing video information, acomputer network providing streaming video information or any othersuitable video source. The time shift content recorder/player system 10may be a set top box or other suitably programmed device.

The content source 20 is coupled to provide a received content 22 to thecontent recorder/player 32. The content recorder/player 32 includes acontent recorder 30, a mass storage device 40, and a content player 50.The content recorder 30 receives the received content 22 from thecontent source 20 and provides the received content 22 to the massstorage device 40, regardless of whether the content recorder/player 32is in a “paused” state.

The mass storage device 40 contains a ring, stack, linked list, or otherdata structure for storing the received content 22. The data structureincludes an entry point and an exit point. The entry point is a locationin the mass storage device 40 at which the received content 22 isstored. As the received content 22 is stored in the mass storage device40, the entry point is advanced through the mass storage device. Theexit point is initially equal to the entry point, and is discussed ingreater detail with respect to ‘the content player 50.

The content player 50 retrieves video content from the mass storagedevice 40 and provides the video content to a video controller 60. Theexit point is a location in the mass storage device 40 at which thevideo content is retrieved. The content player 50 retrieves videocontent from the mass storage device 40 and provides the video contentto a video controller 60 when the content recorder/player 32 is not in a“paused” state. However, when the content recorder/player 32 is in a“paused” state, the content player 50 persistently plays a single frame.

The single frame that is played is a frame, contained within the videocontent, that is selected when the content recorder/player 32 enters a“paused” state. To play the single frame, the content player 50persistently provides the single frame to the video controller 60. Alocation within the video content at which the frame is located isreferred to as the exit point. When no event has occurred that wouldinitiate a time-shifting process, the entry point and the exit point areequal.

In other words, when no event has occurred that would initiate atime-shifting process, the received content 22 is both stored in themass storage device 40 by the content recorder 30 and provided to thevideo controller 60 by the content player 50. The video controller 60,in other words, plays the received content 22 “live,” that is, as it isreceived. However, when the content recorder/player 32 is in a pausedstate, the content player 50 persistently provides the single frame tothe video controller 60.

The event detector 70 determines whether the content recorder/player 32is in a “paused” state by detecting a pause state 73 of the contentrecorder/player 32. The pause state is based on a viewer initiated pauseevent such as by the activation of a pause button on a remote control ora previous non-viewer initiated event which has caused the contentrecorder/player 32 to enter the pause state. The viewer initiated pauseevent is shown by line 71. The event detector 70 is operative to detectevents that initiate a time-shifting process. The event detector 70 isoperative to automatically detect a plurality of non-viewer initiatedevents. For example, the event detector 70 may be programmed or coupledto receive an electric signal from a telephone line, a doorbell, akitchen timer, or an appliance such as a washing machine.

The monitored device 80 is, for example, a telephone line, a doorbell, akitchen timer, or an appliance such as a washing machine. However, themonitored device 80 may also be a web server, client-side computersystem executing a web browser or email handler, or smart applianceinterface operative to detect signals from smart appliances. Themonitored device 80 may also be a processor executing a speechrecognition process, or a transmitter operatively coupled to a computersystem, or any other suitable interface. The event detector 70 is anydevice capable of detecting signals from the monitored device 80, andcontrolling whether the content recorder/player 32 is in a paused state.

The electric signal may be regarded as a pause signal, causing thecontent recorder/player 32 to transition to a paused state. The eventdetector 70 may also be programmed or coupled to detect a softwareinterrupt such as the receipt of an email, the beginning or execution ofa software process, a beginning or ending of a smart appliance process,or a ATVEF/Intercast/Watermark Web link. The event detector 70 may beprogrammed or coupled to detect enhanced content embedded in receivedcontent included within an email message, or sent via an emailattachment.

Such events are not initiated by the user or by any person. Instead, theevent is initiated automatically by a smart appliance, by an electricsignal from an appliance such as a doorbell or telephone, or by an emailhandler or web browser. The event detector may also be operative torespond to a speech recognition device, and can detect an eventcomprising a spoken command.

FIG. 2 shows a flowchart illustrating a method for time-shifting inresponse to an event that may be carried out, for example, by a set topbox, integrated system or other system. The method begins at step 100,at which a play lag is set to zero. If desired, the play lag may beimplemented as a FIFO (first in first out) buffer having an exit pointand an entry point. Before any events have occurred, the exit point andentry point are pointers to a location in the mass storage device wherethe most recently recorded video content has been stored. As videocontent is received at step 102, the exit point and entry point advancethrough the mass storage device. Once the play lag has been set, the settop box proceeds to step 102 in which a set top box receives videocontent. It will be understood that the set top box may be replaced withor integrated into a television, a HDTV, a computer monitor, a digitalvideo recorder, or other device capable of presenting and/or storingvideo information. It will also be understood that the video content maybe replaced with audio content.

At step 104, the set top box presents the video content onto atelevision to which it is coupled (either directly or through anotherdevice). As stated previously, the television may be replaced with ahome theater system, a HDTV, a computer monitor, a digital videorecorder, or other device capable of presenting and/or storing videoinformation, additional devices may be added to the television,including additional televisions or additional speakers or recordingdevices.

At step 106, the set top box detects an event. The event may be, forexample, a telephone ring, an email reception, a beginning or ending ofa smart appliance process, or an ATVEF/Intercast/Watermark Web link. Theevent may be embedded in the video content, included within an emailmessage, or sent via an email attachment. The event may be detected inhardware or in software. In accordance with one embodiment of thepresent invention, the set top box may be programmed to detect triggerevents, such as the receipt of an email. The set top box may also beprogrammed to detect status events, such as an alert from a smartappliance. Such an alert typically indicates that the smart appliance isin a predetermined state, and the alert continues until the state of thesmart appliance is reset. For example, if an oven or a washing machinecompletes a cycle, the oven or washing machine may generate an alert tothe user.

However, the event is not initiated by the user or by any person.Instead, the event is initiated automatically by a smart appliance, byan electric signal from an appliance such as a doorbell or telephone, byan email handler, web browser or other suitable event source. Althoughstep 106 is depicted as a polling loop that repeatedly checks todetermine whether a non-viewer initiated event has occurred, step 106may be replaced with an interrupt that may be ORed with a signalgenerated in response to a “pause” button on a remote control if thesystem is incorporated with a conventional viewer based remote controlinitiated pause. The set top box may be said to be in a pause state.

When the set top box detects an event, at step 108, the set top boxpauses the presentation by directing the video content to a videorecorder while maintaining an instantaneous image of the video contenton a television or other video device via the content recorder/player32. The set top box continues to receive the video content, and at step110 the digital video recorder “spools” the video content onto the massstorage device. The set top box continues to time-shift the videocontent by receiving and storing the video content, while presenting asingle video frame on the television.

While the set top box is in the pause state, the digital video recordercontinues to record content. If the play lag is implemented as a FIFObuffer, the entry point continues to advance through the mass storagedevice as additional video content is recorded. The exit point, however,remains a pointer to the location in memory in which the most recentlyrecorded video content had been stored immediately before the event wasdetected. If the play lag is implemented as a vector, the vectoradvances as additional video content is recorded. The play lag may beunderstood as a vector from the location in memory in which the mostrecently recorded video content had been stored immediately before theevent was detected to the location in memory in which the most recentlyrecorded video content is being stored.

At step 112, the set top box detects the end of the event, or morespecifically the absence of any existing events. When the set top box isprogrammed to detect status events, such as an alert from a smartappliance, the event terminates when the smart appliance is reset.However, if a second status event has begun before the first statusevent has terminated, then the set top box does not detect the end ofthe absence of existing events, since an event still exists. When noexisting events are detected, the set top box proceeds to step 114.While at least one event remains, the set top box returns to step 110.

Although shown as a polling loop that repeatedly checks to determinewhether an event exists, step 112 may be replaced with an interrupt thatis generated by a smart appliance, by an electric signal from anappliance such as a doorbell or telephone, or by an email handler or webbrowser.

In accordance with one embodiment of the present invention, the eventmay also be terminated by a user. The termination of an event by a usercancels any existing events and causes the set top box to proceed fromthe pause state to a time-shifting state. The event may be manuallyterminated, for example, by the user pressing a “resume” button on theremote control to “unpause” the digital video recorder. The resumebutton on the remote control is merely one example of a resumeindication; if the set top box is connected to the Internet or to a LAN,the user may invoke a resume indication via a keyboard, mouse, or othercomputer input device. In accordance with one embodiment of the presentinvention, a software application may contain a GUI (graphical userinterface) that assists the user in generating the resume indication.

When the set top box detects the termination of the event, the set topbox returns to the step 102. The set top box continues to receivecontent and store the content at the entry point in the mass storagedevice, and to advance the entry point. Receiving and storing videocontent is largely unaffected by the entering and exiting of the pausestate. At step 104, however, the exit point is no longer equal to theentry point. The set top box plays the content stored at exit point andadvances the exit point 104. The user resumes viewing, and the digitalvideo recorder continues to receive video content and to spool the videocontent onto the digital video recorder, but presents the video contentfrom a point at which the user had paused the reception. In other words,the user plays content that is delayed with respect to the video contentbeing spooled.

It should be understood that the implementation of other variations andmodifications of the invention in its various aspects will be apparentto those of ordinary skill in the art, and that the invention is notlimited by the specific embodiments described. For example, the contentrecorder/player may be implemented for video, audio, or other types ofcontent as well. It is therefore contemplated to cover by the presentinvention, any and all modifications, variations, or equivalents thatfall within the spirit and scope of the basic underlying principlesdisclosed and claimed herein.

What is claimed is:
 1. A method for controlling the time shifting ofcontent comprising: receiving content by a digital video recordingsystem; detecting by a digital video recording system, a non-viewerinitiated event that is not embedded in the content; and in response todetecting the non-viewer initiated event; pausing by a digital videorecording system, the content to a presentation device; in response tothe same detected non-viewer initiated event, spooling by a digitalvideo recording system, the content onto a mass storage device; andunpausing from the event to resume presentation of the content.
 2. Themethod of claim 1, further comprising: detecting a resume indication;and in response to detecting the resume indication, unpausing from theevent to resume presentation of the content.
 3. The method of claim 1,wherein the event is a software-detected event.
 4. The method of claim3, wherein the event is receiving email.
 5. The method of claim 1,wherein the event is a hardware-detected event.
 6. The method of claim5, wherein the event is receiving a telephone call.
 7. The method ofclaim 2, wherein: the resume indication occurs automatically in responseto a termination of the event.
 8. The method of claim 2, wherein theresume indication occurs in response to a user control.
 9. A contentplayer comprising: a pausable mass storage device player operative tooutput content, the pausable mass storage device becoming paused inresponse to an assertion of a pause signal and remaining paused untilthe pause signal is deasserted wherein the pausable mass storage deviceplayer is further operative to begin recording content in response tothe pause signal; an event detector coupled to the pausable mass storagedevice player and operative to detect a non-viewer initiated event thatis not embedded in the content and to assert the pause signal inresponse thereto; and the pausable mass storage device is operable tounpause from the event to resume presentation of the content.
 10. Thecontent player of claim 9, wherein the pausable mass storage deviceplayer is further operative to receive the assertion of the pause signalfrom a monitored hardware device.
 11. The content player of claim 10,wherein the pausable mass storage device player is further operative toreceive the assertion of the pause signal in response to detecting atelephone call.
 12. The content player of claim 10, wherein the pausablemass storage device player is further operative to receive the assertionof the pause signal in response to detecting that another device isbeginning operation.
 13. The content player of claim 10, wherein thepausable mass storage device player is further operative to receive theassertion of the pause signal in response to detecting that anotherdevice is terminating operation.
 14. The content player of claim 10,wherein the pausable mass storage device player is further operative toreceive the assertion of the pause signal in response to detecting thatanother device is changing operating state.
 15. The content player ofclaim 9, wherein the pausable mass storage device player is furtheroperative to receive the assertion of the pause signal from a softwaredevice.
 16. The content player of claim 15, wherein the pausable massstorage device player is further operative to receive the assertion ofthe pause signal in response to detecting receiving an email.
 17. Themethod of claim 1, including receiving an assertion of a pause signalbased on a hardware device.
 18. A method for controlling the timeshifting of content comprising: receiving content by a digital videorecording system; detecting by the digital video recording system, anon-viewer initiated event; and in response to detecting the event;pausing by a digital video recording system, the content to apresentation device; spooling by a digital video recording system, thecontent onto a mass storage device in response to the same detectednon-viewer initiated event; wherein the event is receiving email; andunpausing to resume presentation from the event.
 19. The method of claim18 including: detecting a resume indication; and in response todetecting the resume indication, unpausing to resume presentation fromthe event.